import request from '@/utils/request'

const api = '/photo'


/**
 * 根据tableId查询图片信息
 * @param tableId 外表id
 * @param tableType 外表类型
 * @param status 状态
 * @returns {AxiosPromise}
 */
export const getPhotoByTableId = (tableId, tableType, status) => {
  return request({
    url: `${api}/list`,
    method: 'GET',
    params: {
      tableId,
      tableType,
      status
    }
  })
}
/**
 * 根据tableId查询图片信息
 * @param random 随机数
 * @param tableType 外表类型
 * @param status 状态
 * @returns {AxiosPromise}
 */
export const getPhotoByRandom = (random, tableType, status) => {
  return request({
    url: `${api}/list`,
    method: 'GET',
    params: {
      random,
      tableType,
      status
    }
  })
}

/**
 * 获取图片token有回调
 * @param bucket 空间属性（公有、私有）
 * @returns {AxiosPromise}
 */
export const getPhotoToken = (bucket) => {
  return request({
    url: `${api}/token/callback`,
    method: 'GET',
    params: {
      bucket
    }
  })
}

/**
 * 真删除图片
 * @param photoIds 图片id数组
 * @returns {AxiosPromise}
 */
export const delPhoto = (photoIds) => {
  return request({
    url: `${api}`,
    method: 'DELETE',
    params: {
      photoIds
    }
  })
}

/**
 * 保存图片
 * @param data
 * @returns {AxiosPromise}
 */
export const addPhoto = (data) => {
  return request({
    url: `${api}`,
    method: 'POST',
    data
  })
}

/**
 * 修改图片状态为失效
 * @param id photosId
 * @returns {AxiosPromise}
 */
export const changePhotoFailure = (photoId) => {
  return request({
    url: `${api}/failure/${photoId}`,
    method: 'PUT',
  })
}

/**
 * 恢复图片
 * @param tableId 外表ID
 * @param tableType 外表类型
 * @returns {AxiosPromise}
 */
export const recoveryPhoto = (tableId, tableType) => {
  return request({
    url: `${api}/recovery`,
    method: 'PUT',
    params: {
      tableId,
      tableType
    }
  })
}

/**
 * 恢复图片
 * @param params 参数
 * @returns {AxiosPromise}
 */
export const getMobUploadUrl = (params) => {
  return request({
    url: `${api}/getMobUploadUrl`,
    method: 'GET',
    params
  })
}

